Typically, packets on a communication network are created in an evenly spaced fashion based on a network interval. However, due to traffic congestion, buffer mechanisms, etc., packets may arrive in a fashion known as a burst condition. A burst condition implies a group of packets are clumped together wherein a greater number of packets than predicted would arrive in a given time period based on the network interval. The difference between the predicted packet interval and the actual packet interval is known as packet jitter and is an important parameter reflecting how a network shapes the packet interval.
Current network systems monitoring packet jitter typically use a common method known as a slipping window to determine packet jitter. In the slipping window method, a master periodically creates a packet based on a pre-configured interval Tsend and sends the packet towards a slave. In theory, during any pre-configured interval Treceive, the slave should receive at least M packets and should receive no more than N packets i.e. N≧M. If the slave receives a number of packets outside of this range then an alarm is generated indicating a burst error. The interval Treceive is known as a check window and is typically chosen as three times Tsend or in other words, Treceive/Tsend equals three.
Problems with the slipping window method arise based on the arbitrary nature of the selection of when to begin and end a check window. As illustrated in FIG. 1 for example, first divide each check window into three equal sub-check windows and record the number of packets received for each sub-check window as c(1), c(2), . . . , c(n). Next, let P(i), with i≧1, be the received number of packets in the i-th check window. Accordingly the total number of packets received in the i-th check window is P(i)=c(i)+c(i+1)+c(i+2). Next in the example, determine if P(i)ε[N,M], if the total number of packets is not a member of the specified range then a burst error alarm is generated.
The simplicity of the slipping window method lends itself to hardware implementation and therefore makes the method very attractive, but the slipping window method can fail to report some burst error conditions. For example, looking again to FIG. 1, no burst error is reported based on the slipping window method even though check windows can be defined where a burst error condition occurs. The issue with the slipping window method is that burst errors are only reported on the selected check windows, not on every possible check window. Using the slipping window method, to detect all possible burst errors, the sub-windows would have to be made infinitely small, which would make the slipping window method impractical to implement. Accordingly, market pressure is building for a method of detecting all burst errors in a packet network with the method being practical to implement in hardware or software.